#!/usr/bin/env python3
# -*- coding: utf-8 -*-

'asyncio是Python3.4版本引入的标准库，直接内置了对异步IO的支持。'

'''
asyncio的编程模型就是一个消息循环。我们从asyncio模块中直接获取一
个EventLoop的引用，然后把需要执行的协程扔到EventLoop中执行，就实现了异步IO。
'''

import asyncio

@asyncio.coroutine
def hello():
    print("Hello world!")
    # 异步调用asyncio.sleep(1):
    r = yield from asyncio.sleep(1)
    print("Hello again!")

if __name__ == '__main__':
    try:
        # 获取ExentLoop：
        loop = asyncio.get_event_loop()
        # 执行corountine
        loop.run_until_complete(hello())
    except Exception as e:
        print(e)
    finally:
        loop.close()

